A mouse capable of providing concurrent control of cursor position and scrolling is disclosed in U.S. Pat. No. 5,313,229 issued on May 17, 1994 to Gilligan and Falcon (incorporated herein by reference), which is based on the addition of a supplementary control means to a conventional mouse device for generating a scrolling-control signal, which is combined with an operational method to set the scrolling direction by analyzing the dominant axis present in a cursor trail (hereinafter "dominant axis method"). The dominant axis method provides the capability of setting the scrolling axis from an arbitrary cursor position, while the supplementary control means provides variable-rate scrolling within the selected axis. The scrolling capabilities of the mouse disclosed in the referenced patent provide a number of operating and ergonomic advantages, but requires a special hardware design to fit the supplementary control means and associated electronic circuitry into the mouse housing.
The dominant axis concept can clearly also be used to add some scrolling capabilities to a conventional mouse. This can be done through an alternative embodiment of the invention disclosed in the referenced patent, in which the binary control signal generated by one of the mouse's push-buttons is assigned for enabling/disabling a fixed-rate periodic signal for generating incremental scrolling commands, and the dominant axis method is used for controlling the scrolling direction. This can bring some of the benefits of the mouse disclosed in the referenced patent to a simple, push-button-like conventional mouse device.
However, a fixed-rate scrolling has a number of disadvantages, compared to a variable-rate approach. The first disadvantage of fixed-rate scrolling is that there is always a rate/precision tradeoff in setting the fixed scrolling-rate. This is because if the scrolling-rate is too low, the final scrolling position can be set accurately but scrolling operations consume excessive time. On the other hand, a high-rate scrolling can be fast, but lacks precision in the final scrolling position, because abrupt scrolling-rate changes overwhelm the response time of a normal operator, making an accurate control impossible. In other words, the closed-loop control system configured by the operator, the mouse, and the computer system, is saturated when abrupt scrolling-rate changes occur, what results in a non-linear response. This phenomenon impedes the ability of the operator to reach the desired scrolling position in a single operation, what leads to repeated mouse push-button activations while scrolling the image in a back and forth fashion, until the desired scrolling position is finally achieved. At the same time, this disturbs the operator's attention and so reduces his or her productivity. For all these reasons, a fixed-rate scrolling capability is usable only if it is limited to a very low scrolling rate.
All the mentioned disadvantages make variable-rate scrolling a necessary feature in a mouse with scrolling capabilities. On the other hand, scrolling operations are essentially dynamic operations, since they deal with data-items moving in a displayed image. It has been observed that because of the particular contour conditions in which scrolling operations are performed (imposed by operators' needs as well as by the computer system's limitations), when a mouse as the one disclosed in the referenced patent is operated, the scrolling-rate control signal has a characteristic profile or variation-pattern that comes up each time a scrolling operation is performed.
One of these characteristics is that since an operator normally works on a still image, the signal's value is always zero at the beginning and at the end of a scrolling operation. In other words, the scrolling rate control signal does not need to be set to a given value and kept at that value for long periods of time. Another characteristic of variable-rate scrolling operations is that the scrolling-rate control signal usually rises from zero to a maximum value at the beginning of the scrolling operation, and at an approximately constant variation rate. This happens mainly because operators normally avoid abrupt scrolling-rate changes, for the reasons stated above. Another characteristic of scrolling operations is that once the maximum scrolling rate is achieved, an operator normally maintains that scrolling rate until he or she perceives that the target scrolling position is about to come up on the computer's display. At that point, an operator normally slows down the scrolling rate to get a clearer picture of the scrolling image, until the target data item appears on the display, and hence reduces the scrolling-rate to zero (i.e., back to a still image).
Therefore, a scrolling operation can be seen as a dynamic cycle comprising at least an attack segment of rising scrolling-rate, a sustain segment of more or less constant scrolling-rate, and a decay segment of decreasing scrolling-rate. This leads to an analogy between the control requirements of a scrolling operation and the generation of a musical note's envelope by an electronic music synthesizer.
For example, a musical note's volume is zero by default, and is heard only when a musician plays a note in the synthesizer's keyboard. Once a note is started, the note's volume rises at a pre-set variation rate until it gets to its normal volume level. At that point, the note's volume stays at the same level until the musician releases the note's key, after what the note's volume falls at another pre-set variation rate, until it gets back to zero.
In an electronic music synthesizer, the various signal segments corresponding to a note's envelope function are produced by an envelope generator, which is an electronic device for generating an output function of pre-defined shape, triggered by a key's binary control signal. This is possible since all notes of a certain instrument have very similar envelope profiles, with slight differences between one particular note and the next. If this was not true, a musician would need to manually control each note's envelope through for example pressure sensitive keys or the like. At the same time, the cost of such a keyboard would be much higher than a simple binary-switch keyboard.
Consequently, although scrolling operations and electronic generation of musical notes belong to completely different fields, both can be seen as similar control problems, and therefore the control techniques used in the second field can be used in the first one, with many advantages.
Therefore, there is a need for a mouse driver that, taking advantage of the dynamic characteristics of scrolling operations, is capable of providing many of the benefits of the mouse disclosed in the referenced patent to a low-cost conventional push-button mouse, to carry those benefits to the huge installed base of conventional mice at a minimum cost.